A general public key cryptosystem uses an encryption protocol using a pair of a public key and a secret key of a user. Herein, the public key is public, but the secret key corresponding to the public key is not shared with anyone but the user. In the public key cryptosystem, the secret key generated by the user is encrypted using a password of the user and then safely stored in a user device. Further, when the user uses the public key encryption protocol, the encrypted secret key is decrypted using the password of the user. After use, the secrete key is encrypted again using the password and stored.
The general public key cryptosystem is configured to store a copy of the user's secret key in a key management server in case the secret key is corrupted or lost. For example, when the user generates a secret key, the user may access the key management server through the user device and register the secret key or encrypted secret key. Further, when the secret key is corrupted or lost, the user may access the key management server through the user device and receive and restore the registered secret key or encrypted secret key.
In the general public key cryptosystem, if the key management server keeps a secret key of the user, there is a high possibility that mass leak of multiple user secret keys managed in the key management server may occur due to an external attack such as hacking. If the user's secret key in the key management server is leaked in a payment service and a financial service, payment information, financial information, and personal information of the use may be further leaked.
Further, if the user encrypts the secret key with the user's password and stores the encrypted secret key in the key management server, when the user forgets the password, the user needs to reset a new password.
The user's secret key is stored in the key management server as being encrypted with the user's existing password. Therefore, if the user resets a password, the user needs to use the reset password. Thus, the user cannot decrypt the encrypted secret key stored in the key management server. Accordingly, in the general public key cryptosystem, if the user forgets the password, the user needs to discard the encrypted secret key stored in the key management server and encrypt a secrete key again on the basis of the reset password.
As a conventional technology relating to a public key cryptosystem, U.S. Pat. No. 8,995,660 (entitled “Cryptographic system, cryptographic communication method, encryption apparatus, key generation apparatus, decryption apparatus, content server, program, and storage medium”) provides a cryptographic communication technology that is based on functional encryption and that can operate flexibly. To be specific, this technology extracts attribute information and logic information from user's input information on the basis of a pair of attribute conversion rule information and logical expression conversion rule information and uses the extracted information for encryption.
Further, Korean Patent Laid-open Publication No. 10-2013-0096575 (entitled “Apparatus and method for distributing group key based on public key”) discloses a method for distributing a group key in a group key management server in response to a request from a new user to join a group. To be specific, this method includes: receiving a message, which is encrypted with a user public key and a user secret key and requests joining a specific group, from a new user device; authenticating the new user device by decrypting the message; and transmitting a group key being used in the group to the new user device.